Windows환경 적용 방법
1.개요
본 문서는 소프트캠프㈜의 서비스링커 동작 과정 표준 가이드입니다.
고객사 업무 간에 업무 웹페이지에 암호화된 문서를 올릴 경우 업무에 지장이 생긴다.
따라서 업무 웹페이지에 파일 업 다운로드시 자동으로 문서의 암복호화를 진행해주는 서비스 링커가 필요하다.
1.1. 서비스링커 진행 순서
-
자바설치 --> 고객사 장비에 jdk 설치 되어있지만 본 문서에서는 테스트를 위해 설치 합니다.
-
설정파일 편집 (keymanager_setting.properties)
-
콘솔에서 서비스 등록 //범주,등급,개인 정책 존재 必
-
키매니저 레지스트리 등록
-
키매니저 시작 //키파일 받아오기
-
설정파일 환경설정 (softcamp.properties)
-
TestEnc.java, TestDec.java 경로 설정
-
암복호화 자바 스크립트 실행
-
서비스링커 테스트 완료
2.자바설치(고객사 업무시스템에서는 진행하지 않습니다.)
서비스링커 동작 스크립트가 자바로 구성되어 있기 때문에 환경에 자바가 설치되어 있어야 한다.
2.1. Oracle 접속 후 Java 설치
Oracle Java Technologies | Oracle 접속
2.2. 환경 변수 등록
[시스템 환경 변수 편집] 열기
환경 변수(N)
클릭
[시스템 변수(S)] - Path - 편집
새로만들기(N)
- 찾아보기(B)
- [Java\jdk-19\bin] - 확인
3. 키매니저 환경설정
3.1. 키매니저 설정파일
해당 경로에 있는 파일을 편집합니다.
C:\softcamp\02_Module\01_KeyManager
Keymanager_setting.properties 키매니저 설정파일 편집
3.2. 경로설정
#############################################
# #
# COMMON INFO : Site에 맞게 설정해서 사용 #
# #
#############################################
# 키 매니저 로그 경로
LogPath = C:\\test
# 키 매니저 lock 파일 생성 경로
# lockPath = ./
# 키 파일 저장 경로
KeyPath = C:\\softcamp\\04_KeyFile
#키 매니저 갱신 주기 및 시간 지정
StartTime = 0
RequestCycle = 24
#logFilter = ERROR; INFO; WARNING
LogFilter = ERROR; INFO; WARNING; DEBUG; LIB; sckmenv;
# 키 매니저 시작 할 때, 키 파일 업데이트 여부 ( 0: not update, not 0: update, default: update )
FirstUpdate = 1
3.3. SCI 서버 정보 수정
인증을 받아올 SCI 서버의 정보를 입력
- 다운로드 하려는 키파일의 타입 (1 : MAC | 2 : DAC | 3 : Grade)
Ex
MAC 키와 DAC키를 사용 – DownloadKeyType = 3
MAC 키와 Grade 키를 사용 – DownloadKeyType = 4
MAC DAC Grade 모두 사용 – DownloadKeyType = 7
########################################
# #
# SERVER INFO : AKS에 대한 정보 #
# #
# AKSOS (0: windows, 1: unix) #
# #
########################################
ServerIP0 = 10.81.10.70
ServerPort0 = 62000
Priority0 = 0
AKSOS0 = 0
DownloadKeyType0 = 7
#MACKeyFilename0 = key0
#DACKeyFilename0 = keyDAC0
#GradeKeyFilename0 = Grade0
#SSL0 = 1
#KEYVERO = 4
3.4. 인증정보타입설정
SCI 서버 연동 시스템 관리에서 인증할 정보 타입 편집
키를 인증 받아올 타입 설정
- 0 : IP
- 1 : hostname
################ sck, 4.2.0.3 키검증 ################
#Backup file nema (0: .yyyymmddhhmmss, 1: .backup) backup을 수행합니다.
#BackupFlag = 1
#Error Keyfile Backup 키파일 경로에 error폴더 생성한 후 기존의 오류난 파일 백업함(단, 존재할 경우에만)
#ErrorKeyBackup = 1
# SCI 서버 연동 시스템 관리에서 인증할 정보 타입 (0:IP / 1:hostname)
KeyManagerAuthType = 0
# SCI 서버 연동 시스템 관리에서 인증 hostname 최대 길이(Default:15)
#HostnameMaxLength = 15
4. 콘솔 서비스 등록
4.1. 서비스링커 서비스 추가
관리자 콘솔 접속 후
좌측 탭의 연동시스템관리 에서 서비스 등록 추가
4.2. 서비스 등록 후 적용
5. 키매니저 레지 등록
5.1. 키매니저 동작
CMD창 접속
키매니저 경로에 접속하여 동작 확인
cd C:\softcamp\02_Module\01_KeyManager
java -jar sckm_5.0.0.12.jar
Usagee: java -jar sckm<5.0.0.12>.jar [register | start | shutdown | status | update | registstatus]
- Java -jar sckm_5.0.0.12.jar 입력
- Regiser : 등록
- Start : 시작
- Shutdown : 종료
- Status : 상태 확인
- Update : 업데이트
- Registatus : 레지 상태 확인
5.2. 키매니저 등록
Java -jar sckm_5.0.0.12.jar register
1 입력 => 콘솔에서 생성한 서비스 ID넘버
키매니저 레지 등록 완료된 모습
6. 키매니저 시작
해당 경로에 키파일이 생성됩니다.
C:\softcamp\04_KeyFile
6.1. 키매니저 시작 전 권한부여
관리자 콘솔 접속 후
좌측 탭의 [연동시스템관리] - [서비스링커 정보] 에서 시스템 승인 설정
시스템 승인 설정을 하지 않고 키매니저 시작 시 'ServiceID not granted' 권한 오류.
6.2. 키매니저 시작
CMD 창 접속 후
cd C:\softcamp\002_Module\01_KeyManager
java -jar sckm_5.0.0.12.jar start
6.3. 키파일 생성 모습
7. 서비스링커 환경설정
실제 경로에 접속하여 파일을 편집합니다.
C:\softcamp\02_Module\02_ServiceLinker
서비스링커 환경설정 파일 softcamp.properties 편집
###########################################
# #
# COMMON INFO : Site에 맞게 설정해서 사용 #
# #
###########################################
# 로그 여부 ( 0 이면 로그 남기지 않음, 그 외는 로그 남김 )
LogWrite = 1
# 로그 파일 경로 ( 시스템의 절대 경로, ex. /usr/local/ )
LogPath = C:\\softcamp\\05_SCSLLog
8. 암복호화 스크립트 경로 설정
실제 경로에 접속하여 파일을 편집합니다.
C:\softcamp\03_Sample
해당 경로의 TestDec.java, TestEnc.java, test.bat 편집
TestDec.java
import SCSL.*;
public final class TestDec
{
public static void main(String[] args)
{
String srcFile,dstFile;
srcFile="C:\\Users\\Security365\\Desktop\\softcamp\\03_Sample\\test_Enc.xls";
dstFile="C:\\Users\\Security365\\Desktop\\softcamp\\03_Sample\\test_Dec.xls";
SLDsFile sFile = new SLDsFile();
sFile.SettingPathForProperty("C:\\softcamp\\02_Module\\02_ServiceLinker\\softcamp.properties");
int retVal = sFile.CreateDecryptFileDAC (
"C:\\softcamp\\04_KeyFile\\keyDAC_SVR0.sc",
"SECURITYDOMAIN",
srcFile,
dstFile);
System.out.println("CreateDecryptFileDAC [" + retVal + "]");
}
}
TestEnc.java
import SCSL.*;
public final class TestEnc
{
public static void main(String[] args)
{
String srcFile,dstFile;
srcFile="C:\\softcamp\\03_Sample\\test.xls";
dstFile="C:\\softcamp\\03_Sample\\test_Enc.xls";
SLDsFile sFile = new SLDsFile();
sFile.SettingPathForProperty("C:\\softcamp\\02_Module\\02_ServiceLinker\\softcamp.properties");
sFile.SLDsInitDAC();
sFile.SLDsAddUserDAC("SECURITYDOMAIN", "111001100", 0, 0, 0);
int ret;
ret = sFile.SLDsEncFileDACV2("C:\\softcamp\\04_KeyFile\\keyDAC_SVR0.sc", "System", srcFile, dstFile, 1);
System.out.println("SLDsEncFileDAC :" + ret);
}
}
test.bat 설정
javac -classpath c:\\softcamp\\02_Module\\02_ServiceLinker\\scsl.jar TestEnc.java
java -classpath c:\\softcamp\\02_Module\\02_ServiceLinker\\scsl.jar; TestEnc
javac -classpath c:\\softcamp\\02_Module\\02_ServiceLinker\\scsl.jar TestDec.java
java -classpath c:\\softcamp\\02_Module\\02_ServiceLinker\\scsl.jar; TestDec
9. 암복호화 스크립트 실행
9.1. 암복호화 스크립트 동작 전
test.bat , test.xls , TestDec.java , TestEnc.java
네 개의 파일이 존재함
9.2. 암복호화 스크립트 실행
CMD 창 접속
cd C:\softcamp\03_Sample
test.bat
스크립트 동작 시 모습
10. 서비스링커 테스트 완료
스크립트 실행 후 세 개의 파일이 추가됨.
test.xls , test_Dec.xls , test_Enc.xls